Applications are becoming increasingly data intensive. Creating infrastructure to manage large quantities of data in a distributed and efficient manner is complicated and time consuming. Many individual application developers are unable to devote resources to creating such infrastructure. Consequently individual application developers are at a disadvantage as compared with organizations that can create an efficient and secure distributed data infrastructure. Large organizations are frequently reluctant to provide access to a distributed data infrastructure to third-party application developers due to the risk that intentional or unintentional operations performed by the third-party application may impair functionality of the distributed data infrastructure. Even where third-party application developers are given access to the distributed data infrastructure, the functionality of the applications when performing common operations such as executing operations based on data triggers is frequently limited or slowed down in such a way that many of the advantages of using the distributed data infrastructure are greatly reduced or eliminated. Thus, conventional approaches fail to provide secure and efficient access to a distributed data infrastructure. These and other problems with conventional approaches to processing search queries described above are reduced or eliminated by the systems and methods described below.